package com.vogue.supplymall.admin.business.domain.biz;

import com.vogue.supplymall.account.domain.model.AdminUser;
import com.vogue.supplymall.common.domain.dto.admin.PrivatePlatformAppInfo;
import com.vogue.supplymall.common.domain.dto.admin.PrivatePlatformInfo;

import java.util.List;
import java.util.Map;

/**
 * The interface Admin private platform biz.
 *
 * @author zhangliang
 * Create in 2018-07-12
 */
public interface AdminPrivatePlatformBiz {

    /**
     * Find all private platform list.
     * 检索全部私有化平台信息
     *
     * @param privatePlatformInfo the private platform info
     * @return the list
     */
    List<Map<String, Object>> findAllPrivatePlatform(PrivatePlatformInfo privatePlatformInfo);

    /**
     * Add private platform.
     * 添加私有平台信息
     *
     * @param privatePlatformInfo the private platform info
     * @param info                the info
     * @return the long
     */
    Long addPrivatePlatform(PrivatePlatformInfo privatePlatformInfo, AdminUser info);

    /**
     * Update private platform.
     *
     * @param privatePlatformInfo the private platform info
     * @param info                the info
     */
    void updatePrivatePlatform(PrivatePlatformInfo privatePlatformInfo, AdminUser info);

    /**
     * Upload resource string.
     * 上传资源文件
     *
     * @param appInfo the app info
     * @return the string
     */
    Map<String, String> uploadApp(PrivatePlatformAppInfo appInfo);

    /**
     * Save app info.
     * 保存私有平台app信息
     *
     * @param appInfo the app info
     * @param info    the info
     */
    void saveAppInfo(PrivatePlatformAppInfo appInfo, AdminUser info);

    /**
     * Gets download page.
     * 获取某一平台下载页
     *
     * @param name the name
     * @return the download page
     */
    List<Map<String, Object>> getDownloadPage(String name);
}
